package net.sk.china.city.talk.constants;

/**
 * 常量类
 * +----------------------------------------------------------------------
 * | Talk To [ 聊来改善地区金融服务环境，助力企业发展 ]
 * +----------------------------------------------------------------------
 * | Copyright (c) 2018-2024 聊来All rights reserved.
 * +----------------------------------------------------------------------
 * | Licensed ( <a href="http://www.apache.org/licenses/LICENSE-2.0">apache</a> )
 * +----------------------------------------------------------------------
 * | @Author: 聊来 <18970881148@qq.com>
 * +----------------------------------------------------------------------
 * | DateTime: 2024/6/2 14:34
 * +----------------------------------------------------------------------
 */

public class Constants {

    /** 文件、图片上传相关 */
    public static final String UPLOAD_TYPE_IMAGE = "image";
    public static final String UPLOAD_TYPE_FILE = "file";
    public static final String UPLOAD_ROOT_PATH_CONFIG_KEY = "upload_root_path";
    public static final String UPLOAD_IMAGE_EXT_STR_CONFIG_KEY = "image_ext_str";
    public static final String UPLOAD_IMAGE_MAX_SIZE_CONFIG_KEY = "image_max_size";
    public static final String UPLOAD_FILE_EXT_STR_CONFIG_KEY = "file_ext_str";
    public static final String UPLOAD_FILE_MAX_SIZE_CONFIG_KEY = "file_max_size";
    public static final String UPLOAD_FILE_LOCAL_URL = "localUploadUrl";
    public static final String UPLOAD_MODEL_PATH_EXCEL = "excel";

    /** 验证码redis key前缀 */
    public static final String VALIDATE_REDIS_KEY_PREFIX = "validate_code_";

    /** 登录页LOGO */
    public static final String CONFIG_KEY_ADMIN_LOGIN_LOGO_LEFT_TOP = "site_logo_lefttop";
    public static final String CONFIG_KEY_ADMIN_LOGIN_LOGO_LOGIN = "site_logo_login";
    /** 登录页背景图 */
    public static final String CONFIG_KEY_ADMIN_LOGIN_BACKGROUND_IMAGE = "admin_login_bg_pic";
    /** 后台登录页面轮播图 */
    public static final Integer GROUP_DATA_ID_ADMIN_LOGIN_BANNER_IMAGE_LIST = 2;

    /** 城市数据 redis key */
    public static final String CITY_LIST = "admin_city_list";
    /** 城市数据 tree redis key */
    public static final String CITY_LIST_TREE = "admin_city_list_tree";
    /** 城市数据 tree redis key */
    public static final String CITY_LIST_LEVEL_1 = "admin_city_list_level_1";
    /** 城市数据 area_code redis key */
    public static final String CITY_CODE = "admin_city_code";

    /** 分站账号 redis key */
    public static final String CITY_ACCOUNT = "city_account";


    public static final int NUM_ZERO = 0;
    public static final int NUM_ONE = 1;
    public static final int NUM_TWO = 2;
    public static final int NUM_THREE = 3;
    public static final int NUM_FOUR = 4;
    public static final int NUM_FIVE = 5;
    public static final Integer NUM_NINETY_NINE = 99;
    public static final Integer NUM_TWO_HUNDRED = 200;

    //------------------------------------------- 分类服务类型  类型，1 产品分类，2 附件分类，3 文章分类， 4 设置分类， 5 菜单分类， 6 配置分类， 7 秒杀配置 ------------------------------------------------------------
    /** 产品 */
    public static final int CATEGORY_TYPE_PRODUCT = 1;
    /** 附件分类 */
    public static final int CATEGORY_TYPE_ATTACHMENT = 2;
    /** 文章分类 */
    public static final int CATEGORY_TYPE_ARTICLE = 3;
    /** 设置分类 */
    public static final int CATEGORY_TYPE_SET = 4;
    /** 菜单分类 */
    public static final int CATEGORY_TYPE_MENU = 5;
    /** 配置分类 */
    public static final int CATEGORY_TYPE_CONFIG = 6;
    /** 秒杀配置 */
    public static final int CATEGORY_TYPE_SKILL = 7;


    //------------------------------------------- 日期相关配置 ------------------------------------------------------------

    public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
    public static final String DATE_FORMAT_UTC = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
    public static final String DATE_FORMAT_DATE = "yyyy-MM-dd";
    public static final String DATE_FORMAT_YEAR = "yyyy";
    public static final String DATE_FORMAT_MONTH_DATE = "MM-dd";
    public static final String DATE_FORMAT_MONTH = "yyyy-MM";
    public static final String DATE_TIME_FORMAT_NUM = "yyyyMMddHHmmss";
    public static final String DATE_FORMAT_NUM = "yyyyMMdd";
    public static final String DATE_FORMAT_START = "yyyy-MM-dd 00:00:00";
    public static final String DATE_FORMAT_END = "yyyy-MM-dd 23:59:59";
    public static final String DATE_FORMAT_MONTH_START = "yyyy-MM-01 00:00:00";
    public static final String DATE_FORMAT_YEAR_START = "yyyy-01-01 00:00:00";
    public static final String DATE_FORMAT_YEAR_END = "yyyy-12-31 23:59:59";
    public static final String DATE_FORMAT_HHMMSS = "HH:mm:ss";
    public static final String DATE_FORMAT_START_PEREND = "00:00:00";
    public static final String DATE_FORMAT_END_PEREND = "23:59:59";
    public static final String DATE_FORMAT_HHMM = "yyyy-MM-dd HH:mm";

    //------------------------------------------- 音频、视频后缀常量类 ------------------------------------------------------------
    /** mp3 */
    public static final String FILE_EXT_MP3 = "mp3";
    /** mp4 */
    public static final String FILE_EXT_MP4 = "mp4";
    /** flv */
    public static final String FILE_EXT_FLV = "flv";

    //------------------------------------------- 第三文件存储常量类 ------------------------------------------------------------

    public static final String CLOUD_HUA_BEI = "huabei";
    public static final String CLOUD_HUA_NAN = "huanan";
    public static final String CLOUD_BEI_MEI = "beimei";
    public static final String CLOUD_DONG_NAN_YA = "dongnanya";

    /** 积分 */
    public static final String USER_BILL_CATEGORY_INTEGRAL = "integral";
    /** 平台赠送 */
    public static final String USER_BILL_TYPE_PLATFORM_GIVE = "platform_give";
    /** 用户余额 */
    public static final String USER_BILL_CATEGORY_MONEY = "now_money";
    /** 充值 */
    public static final String USER_BILL_TYPE_PAY_RECHARGE = "pay_recharge";
    /** 系统增加 */
    public static final String USER_BILL_TYPE_SYSTEM_ADD = "system_add";
    /** 系统减少 */
    public static final String USER_BILL_TYPE_SYSTEM_SUB = "system_sub";

    /** 后台积分操作 */
    public static final String BROKERAGE_RECORD_TITLE_SYSTEM = "后台积分操作";

    //------------------------------------------- 积分记录常量类 ------------------------------------------------------------
    /** 积分、权益包记录类型—增加 */
    public static final Integer INTEGRAL_RECORD_TYPE_ADD = 1;
    /** 积分、权益包记录类型—扣减 */
    public static final Integer INTEGRAL_RECORD_TYPE_SUB = 2;
    /** 积分、权益包记录状态—完成 */
    public static final Integer INTEGRAL_RECORD_STATUS_COMPLETE = 3;
    /** 积分、权益包记录关联类型—签到 */
    public static final String INTEGRAL_RECORD_LINK_TYPE_SIGN = "sign";
    /** 积分、权益包记录关联类型—充值 */
    public static final String INTEGRAL_RECORD_LINK_TYPE_RECHARGE = "recharge";

    //------------------------------------------- 支付相关配置 ------------------------------------------------------------
    /** 公众号appId */
    public static final String CONFIG_KEY_PAY_WE_CHAT_APP_ID = "pay_weixin_appid";
    /** 公众号配的商户号 */
    public static final String CONFIG_KEY_PAY_WE_CHAT_MCH_ID = "pay_weixin_mchid";
    /** 公众号支付key */
    public static final String CONFIG_KEY_PAY_WE_CHAT_APP_KEY = "pay_weixin_key";
    /** 小程序appId */
    public static final String CONFIG_KEY_PAY_ROUTINE_APP_ID = "pay_routine_appid";
    /** 小程序分配的商户号 */
    public static final String CONFIG_KEY_PAY_ROUTINE_MCH_ID = "pay_routine_mchid";
    /** 小程序支付key */
    public static final String CONFIG_KEY_PAY_ROUTINE_APP_KEY = "pay_routine_key";
    /** 微信APP支付appId */
    public static final String CONFIG_KEY_PAY_WX_APP_ID = "pay_wxapp_appid";
    /** 微信APP支付商户号 */
    public static final String CONFIG_KEY_PAY_WX_APP_MCHID = "pay_wxapp_mchid";
    /** 微信APP支付key */
    public static final String CONFIG_KEY_PAY_WX_APP_KEY = "pay_wxapp_key";

    //CND  URL测试用
    public static String CND_URL = "https://wuht-1300909283.cos.ap-chengdu.myqcloud.com";

    // 商品类型 活动类型 0=商品，1=秒杀，2=砍价，3=拼团 attrResult表用到
    public static final Integer PRODUCT_TYPE_NORMAL = 0;
    public static final String PRODUCT_TYPE_NORMAL_STR = "默认";
    public static final Integer PRODUCT_TYPE_SECKILL = 1;
    public static final String PRODUCT_TYPE_SECKILL_STR = "秒杀";
    public static final Integer PRODUCT_TYPE_BARGAIN = 2;
    public static final String PRODUCT_TYPE_BARGAIN_STR = "砍价";
    public static final Integer PRODUCT_TYPE_PINGTUAN= 3;
    public static final String PRODUCT_TYPE_PINGTUAN_STR= "拼团";
    public static final Integer PRODUCT_TYPE_COMPONENT= 4;
    public static final String PRODUCT_TYPE_COMPONENT_STR= "组件";
    public static final Integer PRODUCT_TYPE_GROUP = 0;

    //商品库存变动队列key
    public static final String PRODUCT_STOCK_UPDATE = "product_stock_update";

    //------------------------------------------- config配置的key ------------------------------------------------------------
    public static final String CONFIG_SITE_TENG_XUN_MAP_KEY = "tengxun_map_key";

    //------------------------------------------- 订单状态 ------------------------------------------------------------

    /** 所有 */
    public static final String ORDER_STATUS_ALL = "all";
    /** 未支付 */
    public static final String ORDER_STATUS_UNPAID = "unPaid";
    /** 未发货 */
    public static final String ORDER_STATUS_NOT_SHIPPED = "notShipped";
    /** 待收货 */
    public static final String ORDER_STATUS_SPIKE = "spike";
    /** 已收货待评价 */
    public static final String ORDER_STATUS_BARGAIN = "bargain";
    /** 交易完成 */
    public static final String ORDER_STATUS_COMPLETE = "complete";
    /** 待核销 */
    public static final String ORDER_STATUS_TOBE_WRITTEN_OFF = "toBeWrittenOff";
    /** 申请退款 */
    public static final String ORDER_STATUS_APPLY_REFUNDING = "applyRefund";
    /** 退款中 */
    public static final String ORDER_STATUS_REFUNDING = "refunding";
    /** 已退款 */
    public static final String ORDER_STATUS_REFUNDED = "refunded";
    /** 已删除 */
    public static final String ORDER_STATUS_DELETED = "deleted";
    public static final String ORDER_STATUS_STR_UNPAID = "未支付";
    public static final String ORDER_STATUS_STR_NOT_SHIPPED = "未发货";
    public static final String ORDER_STATUS_STR_SPIKE = "待收货";
    public static final String ORDER_STATUS_STR_BARGAIN = "待评价";
    public static final String ORDER_STATUS_STR_COMPLETE = "交易完成";
    public static final String ORDER_STATUS_STR_TOBE_WRITTEN_OFF = "待核销";
    public static final String ORDER_STATUS_STR_APPLY_REFUNDING = "申请退款";
    public static final String ORDER_STATUS_STR_REFUNDING = "退款中";
    public static final String ORDER_STATUS_STR_REFUNDED = "已退款";
    public static final String ORDER_STATUS_STR_DELETED = "已删除";

    //------------------------------------------- 支付方式 ------------------------------------------------------------
    /** 微信支付 */
    public static final String PAY_TYPE_WE_CHAT = "weixin";
    /** 余额支付 */
    public static final String PAY_TYPE_YUE = "yue";
    /** 线下支付 */
    public static final String PAY_TYPE_OFFLINE = "offline";
    /** 支付宝 */
    public static final String PAY_TYPE_ALI_PAY = "alipay";

    public static final String PAY_TYPE_STR_WE_CHAT = "微信支付";
    public static final String PAY_TYPE_STR_YUE = "余额支付";
    public static final String PAY_TYPE_STR_OFFLINE = "线下支付";
    public static final String PAY_TYPE_STR_ALI_PAY = "支付宝支付";
    public static final String PAY_TYPE_STR_OTHER = "其他支付";

    /** 后端接口地址 */
    public static final String CONFIG_KEY_BACK_API_URL = "back_api_url";

    //------------------------------------------- 订单操作redis队列 ------------------------------------------------------------

    /** 用户删除订单后续操作 */
    public static final String ORDER_TASK_REDIS_KEY_AFTER_DELETE_BY_USER = "alterOrderDeleteByUser";

    /** 用户完成订单后续操作 */
    public static final String ORDER_TASK_REDIS_KEY_AFTER_COMPLETE_BY_USER = "alterOrderCompleteByUser";
    /** 用户取消订单后续操作 */
    public static final String ORDER_TASK_REDIS_KEY_AFTER_CANCEL_BY_USER = "alterOrderCancelByUser";
    /** 用户订单退款后续操作 */
    public static final String ORDER_TASK_REDIS_KEY_AFTER_REFUND_BY_USER = "alterOrderRefundByUser";

    /** 公众号 */
    public static final int ORDER_PAY_CHANNEL_PUBLIC = 0;
    /** 小程序 */
    public static final int ORDER_PAY_CHANNEL_PROGRAM = 1;

    public static final String WE_CHAT_TEMP_KEY_FIRST = "first";
    public static final String WE_CHAT_TEMP_KEY_END = "remark";

    //------------------------------------------- 订单操作类型 ------------------------------------------------------------

    /** 退款 */
    public static final String ORDER_LOG_MESSAGE_REFUND_PRICE = "退款给用户{amount}元";

    /** 退款 */
    public static final String ORDER_LOG_REFUND_PRICE = "refund_price";

    /** 快递 */
    public static final String ORDER_LOG_EXPRESS = "express";

    /** 送货 */
    public static final String ORDER_LOG_DELIVERY = "delivery";
    /** 不退款 */
    public static final String ORDER_LOG_REFUND_REFUSE = "refund_refuse";

    /** 虚拟发货 */
    public static final String ORDER_LOG_DELIVERY_VI = "delivery_fictitious";

    /** 编辑订单 */
    public static final String ORDER_LOG_EDIT = "order_edit";

    public static final String ORDER_LOG_MESSAGE_EXPRESS = "已发货 快递公司：{deliveryName}, 快递单号：{deliveryCode}";
    public static final String ORDER_LOG_MESSAGE_DELIVERY = "已配送 发货人：{deliveryName}, 发货人电话：{deliveryCode}";

    public static String RESULT_ORDER_EDIT_PRICE_SUCCESS = "订单号 ${orderNo} 修改价格 ${price} 成功";
    public static String RESULT_ORDER_EDIT_PRICE_LOGS = "订单价格 ${orderPrice} 修改实际支付金额为 ${price} 元";
    public static final String ORDER_LOG_MESSAGE_REFUND_REFUSE = "不退款款因：{reason}";
}
